#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const ll mod=1e9+7;

void kmp(string& s,vector<int>& f,vector<int>& num){
    int n=s.size();
    num[1]=1;
    for(int i = 1, j = 0;i < n; i++){
        while(j && s[i] != s[j]){
            j = f[j];
        }
        j += (s[i] == s[j]);
        f[i + 1] = j;
        num[i+1]=num[j]+1;
    }
}

void solve(){
    string s;
    cin>>s;
    int n=s.size();
    vector<int> f(n+1,0),num(n+1,0);
    kmp(s,f,num);

    // for(int i=1;i<=n;i++){
    //     cout<<f[i]<<' ';
    // }
    // cout<<'\n';
    // for(int i=1;i<=n;i++){
    //     cout<<num[i]<<' ';
    // }
    // cout<<'\n';

    ll ans=1,j=0;
    for(int i=1;i<n;i++){
        while(j&&s[i]!=s[j]){
            j=f[j];
        }
        j+=(s[i]==s[j]);
        while(j*2>i+1) j=f[j];
        ans=(ans*(ll)(num[j]+1))%mod;
        cout<<(num[j]+1)<<' ';
    }
    cout<<ans<<'\n';
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int t=1;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;
}
